package net.ibizsys.modelingia.runtime;

import net.ibizsys.central.cloud.core.IServiceSystemRuntime;

public interface ISystemRuntime extends IServiceSystemRuntime {


    /**
     * 代码表 需求模块标记（备份） 相关信息
     */
    public enum Assistant__ReqModuleTagBackup{
        PRD("PRD", "产品需求文档（PRD）")
        ,PRD__PRODUCT_OVERVIEW("PRD|PRODUCT_OVERVIEW", "PRD|产品概述")
        ,PRD__USER_REQUIREMENTS("PRD|USER_REQUIREMENTS", "PRD|用户需求")
        ,PRD__FUNCTIONAL_REQUIREMENTS("PRD|FUNCTIONAL_REQUIREMENTS", "PRD|功能需求")
        ,PRD__FUNCTIONAL_REQUIREMENTS__L2("PRD|FUNCTIONAL_REQUIREMENTS|L2", "PRD|功能需求（二级）")
        ,PRD__FUNCTIONAL_REQUIREMENTS__L3("PRD|FUNCTIONAL_REQUIREMENTS|L3", "PRD|功能需求（三级）")
        ,PDD("PDD", "产品设计文档（PDD)")
        ,FDD__DATA_MODEL("PDD|DATA_MODEL", "PDD|数据模型")
        ,PDD__DATA_MODEL__ENTITIES("PDD|DATA_MODEL|ENTITIES", "PDD|数据模型|实体集合")
        ,PDD__DATA_MODEL__ENTITY("PDD|DATA_MODEL|ENTITY", "PDD|数据模型|实体")
        ,PDD__FUNCTIONAL_REQUIREMENTS("PDD|FUNCTIONAL_REQUIREMENTS", "PDD|功能需求")
        ,PDD__FUNCTIONAL_REQUIREMENTS__L2("PDD|FUNCTIONAL_REQUIREMENTS|L2", "PDD|功能需求（二级）")
        ,PDD__FUNCTIONAL_REQUIREMENTS__L3("PDD|FUNCTIONAL_REQUIREMENTS|L3", "PDD|功能需求（三级）")
        ,PDD__FUNCTIONAL_REQUIREMENTS__USER_FLOW("PDD|FUNCTIONAL_REQUIREMENTS|USER_FLOW", "PDD|功能需求（用户流程）")
        ,USER("USER", "用户自定义")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqModuleTagBackup(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqModuleTagBackup from(String value){
            switch(value){
            case "PRD": return Assistant__ReqModuleTagBackup.PRD;
            case "PRD|PRODUCT_OVERVIEW": return Assistant__ReqModuleTagBackup.PRD__PRODUCT_OVERVIEW;
            case "PRD|USER_REQUIREMENTS": return Assistant__ReqModuleTagBackup.PRD__USER_REQUIREMENTS;
            case "PRD|FUNCTIONAL_REQUIREMENTS": return Assistant__ReqModuleTagBackup.PRD__FUNCTIONAL_REQUIREMENTS;
            case "PRD|FUNCTIONAL_REQUIREMENTS|L2": return Assistant__ReqModuleTagBackup.PRD__FUNCTIONAL_REQUIREMENTS__L2;
            case "PRD|FUNCTIONAL_REQUIREMENTS|L3": return Assistant__ReqModuleTagBackup.PRD__FUNCTIONAL_REQUIREMENTS__L3;
            case "PDD": return Assistant__ReqModuleTagBackup.PDD;
            case "PDD|DATA_MODEL": return Assistant__ReqModuleTagBackup.FDD__DATA_MODEL;
            case "PDD|DATA_MODEL|ENTITIES": return Assistant__ReqModuleTagBackup.PDD__DATA_MODEL__ENTITIES;
            case "PDD|DATA_MODEL|ENTITY": return Assistant__ReqModuleTagBackup.PDD__DATA_MODEL__ENTITY;
            case "PDD|FUNCTIONAL_REQUIREMENTS": return Assistant__ReqModuleTagBackup.PDD__FUNCTIONAL_REQUIREMENTS;
            case "PDD|FUNCTIONAL_REQUIREMENTS|L2": return Assistant__ReqModuleTagBackup.PDD__FUNCTIONAL_REQUIREMENTS__L2;
            case "PDD|FUNCTIONAL_REQUIREMENTS|L3": return Assistant__ReqModuleTagBackup.PDD__FUNCTIONAL_REQUIREMENTS__L3;
            case "PDD|FUNCTIONAL_REQUIREMENTS|USER_FLOW": return Assistant__ReqModuleTagBackup.PDD__FUNCTIONAL_REQUIREMENTS__USER_FLOW;
            case "USER": return Assistant__ReqModuleTagBackup.USER;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 系统用例关系模式 相关信息
     */
    public enum Assistant__UseCaseRSMode{
        ACTOR2USECASE("ACTOR2USECASE", "操作者到用例")
        ,USECASE2USECASE("USECASE2USECASE", "用例到用例")
        ,ACTOR2ACTOR("ACTOR2ACTOR", "操作者到操作者")
        ,USECASE2ACTOR("USECASE2ACTOR", "用例到操作者")
        ;
        public final String text;
        public final String value;
        private Assistant__UseCaseRSMode(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__UseCaseRSMode from(String value){
            switch(value){
            case "ACTOR2USECASE": return Assistant__UseCaseRSMode.ACTOR2USECASE;
            case "USECASE2USECASE": return Assistant__UseCaseRSMode.USECASE2USECASE;
            case "ACTOR2ACTOR": return Assistant__UseCaseRSMode.ACTOR2ACTOR;
            case "USECASE2ACTOR": return Assistant__UseCaseRSMode.USECASE2ACTOR;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 PRD需求模块标记 相关信息
     */
    public enum Assistant__PRDModule{
        PRODUCT_OVERVIEW("PRODUCT_OVERVIEW", "产品概述")
        ,USER_REQUIREMENTS("USER_REQUIREMENTS", "用户需求")
        ,FUNCTIONAL_REQUIREMENTS("FUNCTIONAL_REQUIREMENTS", "功能需求")
        ,NON_FUNCTIONAL_REQUIREMENTS("NON_FUNCTIONAL_REQUIREMENTS", "非功能需求")
        ,BUSINESS_REQUIREMENTS("BUSINESS_REQUIREMENTS", "业务需求")
        ,CONSTRAINTS("CONSTRAINTS", "约束条件")
        ,PRIORITY_AND_TIMELINE("PRIORITY_AND_TIMELINE", "优先级和时程")
        ,FEASIBILITY_ANALYSIS("FEASIBILITY_ANALYSIS", "可行性分析")
        ,USE_CASES_AND_USER_STORIES("USE_CASES_AND_USER_STORIES", "用例和用户故事")
        ,TEST_PLAN("TEST_PLAN", "测试计划")
        ;
        public final String text;
        public final String value;
        private Assistant__PRDModule(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__PRDModule from(String value){
            switch(value){
            case "PRODUCT_OVERVIEW": return Assistant__PRDModule.PRODUCT_OVERVIEW;
            case "USER_REQUIREMENTS": return Assistant__PRDModule.USER_REQUIREMENTS;
            case "FUNCTIONAL_REQUIREMENTS": return Assistant__PRDModule.FUNCTIONAL_REQUIREMENTS;
            case "NON_FUNCTIONAL_REQUIREMENTS": return Assistant__PRDModule.NON_FUNCTIONAL_REQUIREMENTS;
            case "BUSINESS_REQUIREMENTS": return Assistant__PRDModule.BUSINESS_REQUIREMENTS;
            case "CONSTRAINTS": return Assistant__PRDModule.CONSTRAINTS;
            case "PRIORITY_AND_TIMELINE": return Assistant__PRDModule.PRIORITY_AND_TIMELINE;
            case "FEASIBILITY_ANALYSIS": return Assistant__PRDModule.FEASIBILITY_ANALYSIS;
            case "USE_CASES_AND_USER_STORIES": return Assistant__PRDModule.USE_CASES_AND_USER_STORIES;
            case "TEST_PLAN": return Assistant__PRDModule.TEST_PLAN;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 AI构建状态 相关信息
     */
    public enum Assistant__AIBuildState{
        NOTSTARTED(0, "未构建")
        ,CHOICESREQUESTING(10, "选项请求中")
        ,CHOICESRESPONDED(11, "选项已反馈")
        ,CHOICESCONFIRMED(12, "选项已确认")
        ,MODELREQUESTING(20, "模型请求中")
        ,MODELRESPONDED(21, "模型已反馈")
        ,MODELCONFIRMED(22, "模型已确认")
        ,AGENTREQUESTING(30, "Agent请求中")
        ,AGENTRESPONDED(31, "Agent已反馈")
        ,CHOICESREQUESTFAILED(90, "选项请求错误")
        ,CHOICESCONFIRMFAILED(91, "选项确认错误")
        ,MODELREQUESTFAILED(92, "模型请求错误")
        ,MODELCONFIRMFAILED(93, "模型确认错误")
        ,AGENTREQUESTFAILED(98, "Agent操作错误")
        ,FINISHED(99, "构建结束")
        ;
        public final String text;
        public final int value;
        private Assistant__AIBuildState(int value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__AIBuildState from(int value){
            switch(value){
            case 0: return Assistant__AIBuildState.NOTSTARTED;
            case 10: return Assistant__AIBuildState.CHOICESREQUESTING;
            case 11: return Assistant__AIBuildState.CHOICESRESPONDED;
            case 12: return Assistant__AIBuildState.CHOICESCONFIRMED;
            case 20: return Assistant__AIBuildState.MODELREQUESTING;
            case 21: return Assistant__AIBuildState.MODELRESPONDED;
            case 22: return Assistant__AIBuildState.MODELCONFIRMED;
            case 30: return Assistant__AIBuildState.AGENTREQUESTING;
            case 31: return Assistant__AIBuildState.AGENTRESPONDED;
            case 90: return Assistant__AIBuildState.CHOICESREQUESTFAILED;
            case 91: return Assistant__AIBuildState.CHOICESCONFIRMFAILED;
            case 92: return Assistant__AIBuildState.MODELREQUESTFAILED;
            case 93: return Assistant__AIBuildState.MODELCONFIRMFAILED;
            case 98: return Assistant__AIBuildState.AGENTREQUESTFAILED;
            case 99: return Assistant__AIBuildState.FINISHED;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 PRD需求项标记 相关信息
     */
    public enum Assistant__PRDItem{
        CONCEPT("CONCEPT", "概念")
        ,RESOURCE("RESOURCE", "资源")
        ;
        public final String text;
        public final String value;
        private Assistant__PRDItem(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__PRDItem from(String value){
            switch(value){
            case "CONCEPT": return Assistant__PRDItem.CONCEPT;
            case "RESOURCE": return Assistant__PRDItem.RESOURCE;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 需求作业单所有者 相关信息
     */
    public enum Assistant__ReqItemOwnerType{
        REQMODULE("REQMODULE", "需求模块")
        ,USECASE("USECASE", "用例")
        ,ACTOR("ACTOR", "操作者")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqItemOwnerType(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqItemOwnerType from(String value){
            switch(value){
            case "REQMODULE": return Assistant__ReqItemOwnerType.REQMODULE;
            case "USECASE": return Assistant__ReqItemOwnerType.USECASE;
            case "ACTOR": return Assistant__ReqItemOwnerType.ACTOR;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 AI构建模式 相关信息
     */
    public enum Assistant__AIBuildMode{
        NOT(0, "不构建")
        ,USERCONFIRM(1, "构建并等待确认")
        ,AUTOCONFIRM(2, "构建并自动确认")
        ;
        public final String text;
        public final int value;
        private Assistant__AIBuildMode(int value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__AIBuildMode from(int value){
            switch(value){
            case 0: return Assistant__AIBuildMode.NOT;
            case 1: return Assistant__AIBuildMode.USERCONFIRM;
            case 2: return Assistant__AIBuildMode.AUTOCONFIRM;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 需求模块标记 相关信息
     */
    public enum Assistant__ReqModuleTag{
        PRD("PRD", "产品需求文档（PRD）")
        ,PRD__USER_FLOW("PRD:USER_FLOW", "PRD|用户交互（User Flow）")
        ,PDD("PDD", "产品设计文档（PDD）")
        ,FDD__DATA_MODEL("FDD:DATA_MODEL", "PDD|数据模型（Data Model）")
        ,REQUIREMENT("REQUIREMENT", "需求")
        ,CONCEPT("CONCEPT", "概念")
        ,USER("USER", "用户自定义")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqModuleTag(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqModuleTag from(String value){
            switch(value){
            case "PRD": return Assistant__ReqModuleTag.PRD;
            case "PRD:USER_FLOW": return Assistant__ReqModuleTag.PRD__USER_FLOW;
            case "PDD": return Assistant__ReqModuleTag.PDD;
            case "FDD:DATA_MODEL": return Assistant__ReqModuleTag.FDD__DATA_MODEL;
            case "REQUIREMENT": return Assistant__ReqModuleTag.REQUIREMENT;
            case "CONCEPT": return Assistant__ReqModuleTag.CONCEPT;
            case "USER": return Assistant__ReqModuleTag.USER;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 系统用例关系类型 相关信息
     */
    public enum Assistant__UseCaseRSType{
        ASSOCIATION("ASSOCIATION", "关联(Association)")
        ,INHERITANCE("INHERITANCE", "泛化(Inheritance)")
        ,INCLUDE("INCLUDE", "包含(Include)")
        ,EXTEND("EXTEND", "扩展(Extend)")
        ;
        public final String text;
        public final String value;
        private Assistant__UseCaseRSType(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__UseCaseRSType from(String value){
            switch(value){
            case "ASSOCIATION": return Assistant__UseCaseRSType.ASSOCIATION;
            case "INHERITANCE": return Assistant__UseCaseRSType.INHERITANCE;
            case "INCLUDE": return Assistant__UseCaseRSType.INCLUDE;
            case "EXTEND": return Assistant__UseCaseRSType.EXTEND;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 ModelUserCat 相关信息
     */
    public enum Assistant__ModelUserCat{
        CAT1("CAT1", "类别1")
        ;
        public final String text;
        public final String value;
        private Assistant__ModelUserCat(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ModelUserCat from(String value){
            switch(value){
            case "CAT1": return Assistant__ModelUserCat.CAT1;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 需求项标记4（聊天记录历史模式） 相关信息
     */
    public enum Assistant__ReqItemTag4{
        DEFAULT("DEFAULT", "默认")
        ,ALL("ALL", "全部")
        ,CURRENT("CURRENT", "当前")
        ,NONE("NONE", "无")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqItemTag4(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqItemTag4 from(String value){
            switch(value){
            case "DEFAULT": return Assistant__ReqItemTag4.DEFAULT;
            case "ALL": return Assistant__ReqItemTag4.ALL;
            case "CURRENT": return Assistant__ReqItemTag4.CURRENT;
            case "NONE": return Assistant__ReqItemTag4.NONE;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 需求项标记 相关信息
     */
    public enum Assistant__ReqItemTag{
        NORMAL("NORMAL", "（常规）")
        ,CONCEPT("CONCEPT", "概念")
        ,AIAGENT("AIAGENT", "（AI代理）")
        ,BUILD_MODULE_CONTENT("BUILD_MODULE_CONTENT", "构建模块内容")
        ,BUILD_MODULE_ITEMS("BUILD_MODULE_ITEMS", "构建模块子项")
        ,MERGE_MODULE_CONTENT("MERGE_MODULE_CONTENT", "合并模块内容")
        ,USER("USER", "用户自定义")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqItemTag(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqItemTag from(String value){
            switch(value){
            case "NORMAL": return Assistant__ReqItemTag.NORMAL;
            case "CONCEPT": return Assistant__ReqItemTag.CONCEPT;
            case "AIAGENT": return Assistant__ReqItemTag.AIAGENT;
            case "BUILD_MODULE_CONTENT": return Assistant__ReqItemTag.BUILD_MODULE_CONTENT;
            case "BUILD_MODULE_ITEMS": return Assistant__ReqItemTag.BUILD_MODULE_ITEMS;
            case "MERGE_MODULE_CONTENT": return Assistant__ReqItemTag.MERGE_MODULE_CONTENT;
            case "USER": return Assistant__ReqItemTag.USER;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 需求作业单作业类型 相关信息
     */
    public enum Assistant__ReqItemJobType{
        BUILD_ITEMS("BUILD_ITEMS", "构建子项")
        ,BUILD_ITEMS__USECASE("BUILD_ITEMS.USECASE", "构建子项（用例）")
        ,BUILD_ITEMS__ACTOR("BUILD_ITEMS.ACTOR", "构建子项（操作者）")
        ,BUILD_ITEMS__REQMODULE("BUILD_ITEMS.REQMODULE", "构建子项（需求模块）")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqItemJobType(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqItemJobType from(String value){
            switch(value){
            case "BUILD_ITEMS": return Assistant__ReqItemJobType.BUILD_ITEMS;
            case "BUILD_ITEMS.USECASE": return Assistant__ReqItemJobType.BUILD_ITEMS__USECASE;
            case "BUILD_ITEMS.ACTOR": return Assistant__ReqItemJobType.BUILD_ITEMS__ACTOR;
            case "BUILD_ITEMS.REQMODULE": return Assistant__ReqItemJobType.BUILD_ITEMS__REQMODULE;
            default:
                return null;
            }    
        }
    }

    /**
     * 代码表 需求项类型 相关信息
     */
    public enum Assistant__ReqItemType{
        NORMAL("NORMAL", "常规")
        ,AIAGENT("AIAGENT", "AI代理")
        ;
        public final String text;
        public final String value;
        private Assistant__ReqItemType(String value, String text){
            this.value = value;
            this.text = text;
        }

        public static Assistant__ReqItemType from(String value){
            switch(value){
            case "NORMAL": return Assistant__ReqItemType.NORMAL;
            case "AIAGENT": return Assistant__ReqItemType.AIAGENT;
            default:
                return null;
            }    
        }
    }


}
